#include<iostream>
#include<math.h>
using namespace std;

double a, b, eps;
const int MAXN = 100;
double f(double x){
    return sqrt(x);
}
double Sum(double k){
    double ret=0;
    for(int i=1;i<=(pow(2,k)-1);i++){
        ret += f(a+((i<<1)-1)*((b-a)/pow(2,k)));
    }
    ret = (b-a)/(pow(2,k-1))*ret;
    return ret;
}
double t[MAXN][MAXN];
int main(){
    scanf("%lf %lf %lf", &a, &b, &eps);
    t[0][0] = ((b-a)/2)*(f(a)+f(b));
    for(int k=1;;k++){
        t[0][k]=0.5 * (t[0][k-1]+Sum(k));
        for(int m=1;m<=k;m++){
            t[m][k-m] = (pow(4,m)*t[m-1][k-m+1]-t[m-1][k-m])/(pow(4,m)-1);
        }
        if(abs(t[k][0]-t[k-1][0])<eps){
            printf("t[%d][0]:%.19lf\n", k, t[k][0]);
            break;
        }
    }
    return 0;
}